home *** CD-ROM | disk | FTP | other *** search
/ The Sunday Times: The Month 2003 December / The Sunday Times - The Month 2003-12.iso / mac / The Month DEC 03 / engine / modules / preview_halfpage.swf / scripts / frame_1 / DoAction.as
Text File  |  2003-09-05  |  6KB  |  234 lines

  1. function addLink(mc)
  2. {
  3.    Links[mc.link] = mc;
  4. }
  5. function getMCfromLink(Item)
  6. {
  7.    if(Links[Item] == null)
  8.    {
  9.       var arr = [];
  10.       while(Item != sideMenu.ItemHome)
  11.       {
  12.          arr.unshift(Item._name.split("_").pop());
  13.          Item = Item._parent._parent;
  14.       }
  15.       var str = arr.join("/");
  16.       Links[Item] = Links[str];
  17.    }
  18.    return Links[Item];
  19. }
  20. function removeLinkListener()
  21. {
  22.    Tardis.sideMenu.EB.removeListener(this);
  23. }
  24. function init()
  25. {
  26.    var strID = Tardis.ActiveSection.id;
  27.    var Colors = Tardis.Colors;
  28.    strSECTION_COLOR = Colors.getString(strID);
  29.    SECTION_COLOR = Colors.getHex(strID);
  30.    strSECTION_COLOR50 = Colors.getString(strID + "50");
  31.    SECTION_COLOR50 = Colors.getHex(strID + "50");
  32.    DEFAULT_COLOR = Colors.getHEX("default");
  33.    DEFAULT_COLOR50 = Colors.getString("default50");
  34.    ndItems = nodeData.byName("items");
  35.    loadFader();
  36.    ndDefault = nodeData.byName("default");
  37.    doOut();
  38.    _visible = true;
  39. }
  40. function loadFader()
  41. {
  42.    this.createEmptyMovieClip("mc_images",++depth);
  43.    mc_images.onReady = function()
  44.    {
  45.       mc_images.onReady = null;
  46.       this.onComplete = function()
  47.       {
  48.          delete this.onComplete;
  49.          this._parent.onComplete();
  50.          trace("preview_halfpage complete");
  51.       };
  52.       this.nodeData = this._parent.ndItems;
  53.       this.strPathPrefix = this._parent.strPathPrefix;
  54.       this.init();
  55.    };
  56.    mc_images.loadMovie(strPathPrefix + Tardis.ENGINE_FOLDER + "modules/preview_fader.swf");
  57. }
  58. function clearFader()
  59. {
  60.    removeMovieClip("mc_images");
  61.    loadFader();
  62.    mc_images.clearUp();
  63. }
  64. function exit()
  65. {
  66.    delete ndItems;
  67.    delete ndDefault;
  68.    delete nodeData;
  69. }
  70. function doOver(num)
  71. {
  72.    trace("over" + num);
  73.    if(num == "default")
  74.    {
  75.       populateRollText(ndDefault);
  76.    }
  77.    else
  78.    {
  79.       var node = ndItems.childNodes[num];
  80.       populateRollText(node);
  81.       mc_images.doOver(num);
  82.    }
  83. }
  84. function doOut(num)
  85. {
  86.    doPromoOut();
  87.    populateRollText(ndDefault);
  88.    if(num != "default")
  89.    {
  90.       mc_images.doOut(num);
  91.    }
  92. }
  93. function doPromoOver()
  94. {
  95.    trace("doPromoOver()");
  96.    promoMC.gotoAndStop("on");
  97. }
  98. function doPromoOut()
  99. {
  100.    trace("doPromoOut()");
  101.    promoMC.gotoAndStop("off");
  102. }
  103. function promoUp()
  104. {
  105.    Tardis.sideMenu.doPromoUp();
  106. }
  107. function promoOver()
  108. {
  109.    promoMC.gotoAndStop("on");
  110.    Tardis.sideMenu.doPromoOver();
  111. }
  112. function promoOut()
  113. {
  114.    promoMC.gotoAndStop("off");
  115.    Tardis.sideMenu.doPromoOut();
  116. }
  117. function populateRollText(node)
  118. {
  119.    var promo = false;
  120.    removeMovieClip("promoMC");
  121.    titleFF.htmlText = "";
  122.    title2FF.htmlText = "";
  123.    contentMC.bodyFF.htmlText = "";
  124.    TEXT_POS = 211;
  125.    if(node.byName("title").getText() != null || node.byName("title2").getText() != null || node.byName("title3").getText() != null)
  126.    {
  127.       var strTitle = "<FONT COLOR=\"" + strSECTION_COLOR + "\">" + node.byName("title").getText() + " </FONT>";
  128.       strTitle += "<FONT COLOR=\"" + strSECTION_COLOR50 + "\"> " + node.byName("title2").getText() + " </FONT>";
  129.       strTitle += "<FONT COLOR=\"" + DEFAULT_COLOR50 + "\"> " + node.byName("title3").getText() + " </FONT>";
  130.       titleFF.htmlText = strTitle;
  131.       titleFF._y = TEXT_POS;
  132.       titleFF.resize();
  133.       TEXT_POS += titleFF._height - 3;
  134.    }
  135.    if(node.byName("byline").getText() != null)
  136.    {
  137.       title2FF.htmlText = node.byName("byline").getText();
  138.       title2FF.textColor = DEFAULT_COLOR;
  139.       title2FF._y = TEXT_POS;
  140.       title2FF.resize();
  141.       TEXT_POS += title2FF._height - 9;
  142.    }
  143.    var ndBody = node.byName("body");
  144.    if(ndBody.getText() != null)
  145.    {
  146.       bodyFF.htmlText = ndBody.getText();
  147.       bodyFF.textColor = DEFAULT_COLOR;
  148.       bodyFF.resize();
  149.       bodyFF._y = TEXT_POS;
  150.       TEXT_POS += bodyFF._height;
  151.    }
  152.    var ndPromo = node.byName("promotion");
  153.    if(ndPromo.byName("byline2").getText() != null)
  154.    {
  155.       this.attachMovie("promoMC2","promoMC",++depth);
  156.       promoMC._x = 10;
  157.       promoMC._y = 344;
  158.       promo = true;
  159.    }
  160.    else if(ndPromo.byName("title").getText() != null || ndPromo.byName("byline").getText() != null)
  161.    {
  162.       this.attachMovie("promoMC1","promoMC",++depth);
  163.       promoMC._x = 10;
  164.       promoMC._y = 359;
  165.       promo = true;
  166.    }
  167.    if(promo)
  168.    {
  169.       if(ndPromo.attributes.link != null)
  170.       {
  171.          PromoMC.link = ndPromo.attributes.link;
  172.          PromoMC.navLink = true;
  173.       }
  174.       else
  175.       {
  176.          PromoMC.link = ndPromo.byName("link").getText();
  177.       }
  178.       PromoMC.promotitleFF.htmlText = ndPromo.byName("title").getText();
  179.       PromoMC.promotitleFF.textColor = SECTION_COLOR50;
  180.       PromoMC.promotitleFF.autosize = true;
  181.       PromoMC.promobylineFF._x = PromoMC.promotitleFF._x + PromoMC.promotitleFF._width;
  182.       PromoMC.promobylineFF.htmlText = ndPromo.byName("byline").getText();
  183.       PromoMC.promobylineFF.textColor = SECTION_COLOR50;
  184.       PromoMC.promobylineFF.autosize = true;
  185.       if(ndPromo.byName("byline2").getText() != null)
  186.       {
  187.          PromoMC.promobyline2FF.htmlText = ndPromo.byName("byline2").getText();
  188.          PromoMC.promobyline2FF.textColor = DEFAULT_COLOR;
  189.       }
  190.       else
  191.       {
  192.          PromoMC.promobyline2FF._height = 0;
  193.       }
  194.       PromoMC.btn._width = PromoMC.promobylineFF._width + PromoMC.promotitleFF._width;
  195.       PromoMC.btn._height = PromoMC._height + PromoMC.promobyline2FF._height;
  196.    }
  197.    else
  198.    {
  199.       PromoMC.btn.enabled = false;
  200.    }
  201. }
  202. function txtOver(mc)
  203. {
  204.    Tardis.sideMenu.doOver(mc.link);
  205. }
  206. function txtOut(mc)
  207. {
  208.    Tardis.sideMenu.doOut(mc.link);
  209. }
  210. function txtUp(mc)
  211. {
  212.    if(mc.navLink)
  213.    {
  214.       Tardis.sideMenu.doUp(mc.link);
  215.    }
  216.    else
  217.    {
  218.       Tardis.webPageOpen(mc.link,"_blank");
  219.    }
  220. }
  221. Links = {};
  222. Tardis.sideMenu.EB.addListener(this);
  223. stop();
  224. depth = 0;
  225. _parent.preview = this;
  226. onReady();
  227. this.onUnload = function()
  228. {
  229.    removeLinkListener();
  230.    clearInterval(intervalID);
  231.    this.onUnload = null;
  232. };
  233. var nmLastCover = -1;
  234.